package com.es.service;

import org.elasticsearch.action.bulk.BulkRequest;
import org.elasticsearch.action.get.GetResponse;

import java.io.IOException;

/**
 * @Author 咕唧
 * @Date 2022/6/22 16:56
 * @Version 1.0
 */
public interface DocService {

    /**
     * 添加数据，自动生成id
     *
     * @param index
     * @param json
     */
    void addDoc(String index, String json) throws IOException;

    /**
     * 添加数据，自己设置id
     *
     * @param index
     * @param json
     * @param id
     * @throws IOException
     */
    void addDoc(String index, String json, String id) throws IOException;

    /**
     * 查询数据
     *
     * @param index
     * @param id
     * @throws Exception
     */
    GetResponse getDoc(String index, String id) throws Exception;

    /**
     * 更新数据
     *
     * @param index
     * @param id
     * @param json
     * @throws Exception
     */
    void updateDoc(String index, String id, String json) throws Exception;

    /**
     * 删除数据
     *
     * @param index
     * @param id
     * @throws Exception
     */
    void deleteDoc(String index, String id) throws Exception;

    /**
     * 批量 操作数据
     * @param bulkRequest
     * @throws Exception
     */
    void bulkDoc(BulkRequest bulkRequest) throws Exception;
}
